<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Railway Operation Simulator: TAllRoutes Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="railway-logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Railway Operation Simulator
   &#160;<span id="projectnumber">v2.23.2</span>
   </div>
   <div id="projectbrief">A railway simulator for Windows</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('class_t_all_routes.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="class_t_all_routes-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">TAllRoutes Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Handles data and functions relating to all routes on the railway.  
 <a href="class_t_all_routes.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for TAllRoutes:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 0 -->
</div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes_1_1_t_callon_entry.html">TCallonEntry</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to store relevant values when a call-on found, ready for plotting an unrestricted route.  <a href="class_t_all_routes_1_1_t_callon_entry.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes_1_1_t_locked_route_class.html">TLockedRouteClass</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles routes that are locked because of approaching trains.  <a href="class_t_all_routes_1_1_t_locked_route_class.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:af94f31040cc7692c777123c609d4cbd6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#af94f31040cc7692c777123c609d4cbd6">TRouteType</a> { <a class="el" href="class_t_all_routes.html#af94f31040cc7692c777123c609d4cbd6a45c323d501815c8447bcfc47854800a2">NoRoute</a>, 
<a class="el" href="class_t_all_routes.html#af94f31040cc7692c777123c609d4cbd6a6b55a0d86ea41362f6bef618a88c07dc">NotAutoSigsRoute</a>, 
<a class="el" href="class_t_all_routes.html#af94f31040cc7692c777123c609d4cbd6a9452af506b9a9a2513ba95b114ec59e5">AutoSigsRoute</a>
 }</td></tr>
<tr class="separator:af94f31040cc7692c777123c609d4cbd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34636f74b522ec911900fce48ea6667c"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="class_t_one_route.html">TOneRoute</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a34636f74b522ec911900fce48ea6667c">TAllRoutesVector</a></td></tr>
<tr class="memdesc:a34636f74b522ec911900fce48ea6667c"><td class="mdescLeft">&#160;</td><td class="mdescRight">the vector class that holds all the railway routes  <a href="class_t_all_routes.html#a34636f74b522ec911900fce48ea6667c">More...</a><br /></td></tr>
<tr class="separator:a34636f74b522ec911900fce48ea6667c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a863ba954ac5b7e2197ae1074cc7e268b"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="class_t_one_route.html">TOneRoute</a> &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a863ba954ac5b7e2197ae1074cc7e268b">TAllRoutesVectorIterator</a></td></tr>
<tr class="separator:a863ba954ac5b7e2197ae1074cc7e268b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00c2d57382ed6560f1c611bdfddc3a6f"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="class_t_all_routes_1_1_t_locked_route_class.html">TLockedRouteClass</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a00c2d57382ed6560f1c611bdfddc3a6f">TLockedRouteVector</a></td></tr>
<tr class="memdesc:a00c2d57382ed6560f1c611bdfddc3a6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">the vector class that holds all locked routes  <a href="class_t_all_routes.html#a00c2d57382ed6560f1c611bdfddc3a6f">More...</a><br /></td></tr>
<tr class="separator:a00c2d57382ed6560f1c611bdfddc3a6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac58b6335a806c347545f73f680b45afa"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="class_t_all_routes_1_1_t_locked_route_class.html">TLockedRouteClass</a> &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#ac58b6335a806c347545f73f680b45afa">TLockedRouteVectorIterator</a></td></tr>
<tr class="separator:ac58b6335a806c347545f73f680b45afa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a159a7d547e3d435d109a36cb41193a78"><td class="memItemLeft" align="right" valign="top">typedef std::pair&lt; int, unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a159a7d547e3d435d109a36cb41193a78">TRouteElementPair</a></td></tr>
<tr class="memdesc:a159a7d547e3d435d109a36cb41193a78"><td class="mdescLeft">&#160;</td><td class="mdescRight">defines a specific element in a route, the first (int) value is the vector position in the AllRoutesVector, and the second (unsigned int) value is the vector position of the element in the route's PrefDirVector  <a href="class_t_all_routes.html#a159a7d547e3d435d109a36cb41193a78">More...</a><br /></td></tr>
<tr class="separator:a159a7d547e3d435d109a36cb41193a78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d2aa3032df6e13d1f6f1a93f96157c6"><td class="memItemLeft" align="right" valign="top">typedef std::multimap&lt; <a class="el" href="_track_unit_8h.html#a524d48fe8a394092b35867930a7cd2af">THVPair</a>, <a class="el" href="class_t_all_routes.html#a159a7d547e3d435d109a36cb41193a78">TRouteElementPair</a>, <a class="el" href="class_t_map_comp.html">TMapComp</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a1d2aa3032df6e13d1f6f1a93f96157c6">TRoute2MultiMap</a></td></tr>
<tr class="memdesc:a1d2aa3032df6e13d1f6f1a93f96157c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">the multimap class holding the elements of all routes in the railway. The first entry is the HLoc &amp; VLoc pair values of the route element, and the second is the TRouteElementPair defining the element. There are a maximum of 2 elements per HLoc &amp; VLoc location  <a href="class_t_all_routes.html#a1d2aa3032df6e13d1f6f1a93f96157c6">More...</a><br /></td></tr>
<tr class="separator:a1d2aa3032df6e13d1f6f1a93f96157c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44189363afe506f3f87c3cb6f81c539b"><td class="memItemLeft" align="right" valign="top">typedef TRoute2MultiMap::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a44189363afe506f3f87c3cb6f81c539b">TRoute2MultiMapIterator</a></td></tr>
<tr class="separator:a44189363afe506f3f87c3cb6f81c539b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a993331007a31dae38f2d81afe0796ef4"><td class="memItemLeft" align="right" valign="top">typedef std::pair&lt; <a class="el" href="_track_unit_8h.html#a524d48fe8a394092b35867930a7cd2af">THVPair</a>, <a class="el" href="class_t_all_routes.html#a159a7d547e3d435d109a36cb41193a78">TRouteElementPair</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a993331007a31dae38f2d81afe0796ef4">TRoute2MultiMapEntry</a></td></tr>
<tr class="separator:a993331007a31dae38f2d81afe0796ef4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a438b71f3afbc2c8adb45b47f69cb3bb9"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a438b71f3afbc2c8adb45b47f69cb3bb9">AllRoutesSize</a> () const</td></tr>
<tr class="memdesc:a438b71f3afbc2c8adb45b47f69cb3bb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of routes in the railway.  <a href="class_t_all_routes.html#a438b71f3afbc2c8adb45b47f69cb3bb9">More...</a><br /></td></tr>
<tr class="separator:a438b71f3afbc2c8adb45b47f69cb3bb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30042b2492dc00cec8e5cba68c446efb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a30042b2492dc00cec8e5cba68c446efb">AllRoutesClear</a> ()</td></tr>
<tr class="memdesc:a30042b2492dc00cec8e5cba68c446efb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases all routes from AllRoutesVector and from Route2MultiMap.  <a href="class_t_all_routes.html#a30042b2492dc00cec8e5cba68c446efb">More...</a><br /></td></tr>
<tr class="separator:a30042b2492dc00cec8e5cba68c446efb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12eedbd538ea1c2d3f204e5f2f62e1cd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a12eedbd538ea1c2d3f204e5f2f62e1cd">CheckForLoopingRoute</a> (int Caller, int EndPosition, int EndXLinkPos, int StartPosition)</td></tr>
<tr class="memdesc:a12eedbd538ea1c2d3f204e5f2f62e1cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions defined in .cpp file.  <a href="class_t_all_routes.html#a12eedbd538ea1c2d3f204e5f2f62e1cd">More...</a><br /></td></tr>
<tr class="separator:a12eedbd538ea1c2d3f204e5f2f62e1cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad151a9c7a0ad304f0f5c5c6b523ffb2e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#ad151a9c7a0ad304f0f5c5c6b523ffb2e">CheckRoutes</a> (int Caller, int NumberOfActiveElements, std::ifstream &amp;InFile)</td></tr>
<tr class="memdesc:ad151a9c7a0ad304f0f5c5c6b523ffb2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an integrity check on the routes stored in a session file and returns false if there is an error.  <a href="class_t_all_routes.html#ad151a9c7a0ad304f0f5c5c6b523ffb2e">More...</a><br /></td></tr>
<tr class="separator:ad151a9c7a0ad304f0f5c5c6b523ffb2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2341a7e860e716e60b733f45814e4499"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a2341a7e860e716e60b733f45814e4499">DiagonalFouledByRouteOrTrain</a> (int Caller, int HLoc, int VLoc, int DiagonalLinkNumber)</td></tr>
<tr class="memdesc:a2341a7e860e716e60b733f45814e4499"><td class="mdescLeft">&#160;</td><td class="mdescRight">The track geometry allows diagonals to cross without occupying the same track element, so when route plotting it is necessary to check if there is an existing route or a train on such a crossing diagonal. Returns true for a fouled (i.e. fouled by a route or a train) diagonal. New at v1.2.0.  <a href="class_t_all_routes.html#a2341a7e860e716e60b733f45814e4499">More...</a><br /></td></tr>
<tr class="separator:a2341a7e860e716e60b733f45814e4499"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3fb64509afc46d5871c7843c7769f88"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#ae3fb64509afc46d5871c7843c7769f88">DiagonalFouledByRoute</a> (int Caller, int HLoc, int VLoc, int DiagonalLinkNumber)</td></tr>
<tr class="memdesc:ae3fb64509afc46d5871c7843c7769f88"><td class="mdescLeft">&#160;</td><td class="mdescRight">As above but only checks for a route (may or may not be a train present (new at v1.2.0)  <a href="class_t_all_routes.html#ae3fb64509afc46d5871c7843c7769f88">More...</a><br /></td></tr>
<tr class="separator:ae3fb64509afc46d5871c7843c7769f88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac80a3ae43f749d401f470de711e8e4b0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#ac80a3ae43f749d401f470de711e8e4b0">FindRouteNumberFromRoute2MultiMapNoErrors</a> (int Caller, int HLoc, int VLoc, int ELink, int &amp;RouteNumber)</td></tr>
<tr class="memdesc:ac80a3ae43f749d401f470de711e8e4b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">If a route is present at H, V &amp; Elink returns true with RouteNumber giving vector position in AllRoutes vector. Returns false for anything else including no element or route at H &amp; V etc. New at v1.2.0.  <a href="class_t_all_routes.html#ac80a3ae43f749d401f470de711e8e4b0">More...</a><br /></td></tr>
<tr class="separator:ac80a3ae43f749d401f470de711e8e4b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d6e53f0e140685bbbd4f945217f8369"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a4d6e53f0e140685bbbd4f945217f8369">SearchAllRoutesAndTruncate</a> (int Caller, int HLoc, int VLoc, bool PrefDirRoute)</td></tr>
<tr class="memdesc:a4d6e53f0e140685bbbd4f945217f8369"><td class="mdescLeft">&#160;</td><td class="mdescRight">Examines all routes and for each uses TruncateRoute to see if the element at H &amp; V is present in that route.  <a href="class_t_all_routes.html#a4d6e53f0e140685bbbd4f945217f8369">More...</a><br /></td></tr>
<tr class="separator:a4d6e53f0e140685bbbd4f945217f8369"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa92b37f73176fcf3454688bb15b9f64c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#aa92b37f73176fcf3454688bb15b9f64c">IsElementInLockedRouteGetPrefDirElementGetLockedVectorNumber</a> (int Caller, int TrackVectorPosition, int XLinkPos, <a class="el" href="class_t_pref_dir_element.html">TPrefDirElement</a> &amp;PrefDirElement, int &amp;LockedVectorNumber)</td></tr>
<tr class="memdesc:aa92b37f73176fcf3454688bb15b9f64c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the preferred direction element at TrackVectorPosition with XLinkPos value is in a locked route and returns true if so together with the element itself copied to &amp;PrefDirElement &amp; the LockedRouteVector position in &amp;LockedVectorNumber.  <a href="class_t_all_routes.html#aa92b37f73176fcf3454688bb15b9f64c">More...</a><br /></td></tr>
<tr class="separator:aa92b37f73176fcf3454688bb15b9f64c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0c25f0bd613ff645dab243f1eb8b593"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#ac0c25f0bd613ff645dab243f1eb8b593">IsThereARouteAtIDNumber</a> (int Caller, <a class="el" href="class_i_d_int.html">IDInt</a> RouteID)</td></tr>
<tr class="memdesc:ac0c25f0bd613ff645dab243f1eb8b593"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if there is a route with the given ID number - added at v1.3.1 (see function for details)  <a href="class_t_all_routes.html#ac0c25f0bd613ff645dab243f1eb8b593">More...</a><br /></td></tr>
<tr class="separator:ac0c25f0bd613ff645dab243f1eb8b593"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adadd08bb4cbbcaeba918f20c6c103a39"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#adadd08bb4cbbcaeba918f20c6c103a39">LoadRoutes</a> (int Caller, std::ifstream &amp;InFile)</td></tr>
<tr class="memdesc:adadd08bb4cbbcaeba918f20c6c103a39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads the routes from a session file.  <a href="class_t_all_routes.html#adadd08bb4cbbcaeba918f20c6c103a39">More...</a><br /></td></tr>
<tr class="separator:adadd08bb4cbbcaeba918f20c6c103a39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38ede0231e26c62498999d1873d547a2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a38ede0231e26c62498999d1873d547a2">RouteLockingRequired</a> (int Caller, int RouteNumber, int RouteTruncatePosition)</td></tr>
<tr class="memdesc:a38ede0231e26c62498999d1873d547a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Route locking is required (returns true) if a moving train is within 3 signals back from the RouteTruncatePosition on the route itself or on any linked routes, unless the first signal back is red, or a train on the element immediately before the start of the rearmost linked route (i.e. not on a route but about to enter the rearmost linked route) - this because train cancels route elements that it touches)  <a href="class_t_all_routes.html#a38ede0231e26c62498999d1873d547a2">More...</a><br /></td></tr>
<tr class="separator:a38ede0231e26c62498999d1873d547a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aace498b67ccef13364a1afa1f5f15311"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#aace498b67ccef13364a1afa1f5f15311">TrackIsInARoute</a> (int Caller, int TrackVectorPosition, int LinkPos)</td></tr>
<tr class="memdesc:aace498b67ccef13364a1afa1f5f15311"><td class="mdescLeft">&#160;</td><td class="mdescRight">Examines Route2MultiMap and if the element at TrackVectorPosition with LinkPos (can be entry or exit) is found it returns true (for crossovers &amp; points returns true whichever track the route is on), else returns false.  <a href="class_t_all_routes.html#aace498b67ccef13364a1afa1f5f15311">More...</a><br /></td></tr>
<tr class="separator:aace498b67ccef13364a1afa1f5f15311"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1913c6b3db0107874816d94a4d77e7a8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a1913c6b3db0107874816d94a4d77e7a8">GetRouteVectorNumber</a> (int Caller, <a class="el" href="class_i_d_int.html">IDInt</a> RouteID)</td></tr>
<tr class="memdesc:a1913c6b3db0107874816d94a4d77e7a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a route's position in AllRoutesVector from its ID, throws an error if a matching route isn't found.  <a href="class_t_all_routes.html#a1913c6b3db0107874816d94a4d77e7a8">More...</a><br /></td></tr>
<tr class="separator:a1913c6b3db0107874816d94a4d77e7a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d9f820738af6314f2b9a4a1f52bb64a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_t_one_route.html">TOneRoute</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a7d9f820738af6314f2b9a4a1f52bb64a">GetFixedRouteAt</a> (int Caller, int At) const</td></tr>
<tr class="memdesc:a7d9f820738af6314f2b9a4a1f52bb64a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a constant reference to the route at AllRoutesVector position 'At', after performing range checking on the 'At' value and throwing an error if out of range.  <a href="class_t_all_routes.html#a7d9f820738af6314f2b9a4a1f52bb64a">More...</a><br /></td></tr>
<tr class="separator:a7d9f820738af6314f2b9a4a1f52bb64a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a415c16a43e8e997c82226987e7bffc59"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_t_one_route.html">TOneRoute</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a415c16a43e8e997c82226987e7bffc59">GetFixedRouteAtIDNumber</a> (int Caller, <a class="el" href="class_i_d_int.html">IDInt</a> RouteID) const</td></tr>
<tr class="memdesc:a415c16a43e8e997c82226987e7bffc59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a constant reference to the route with ID number RouteID. If no route is found with that ID an error is thrown.  <a href="class_t_all_routes.html#a415c16a43e8e997c82226987e7bffc59">More...</a><br /></td></tr>
<tr class="separator:a415c16a43e8e997c82226987e7bffc59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b522eb0d7aa415c3648d464c2885484"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_t_one_route.html">TOneRoute</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a8b522eb0d7aa415c3648d464c2885484">GetModifiableRouteAt</a> (int Caller, int At)</td></tr>
<tr class="memdesc:a8b522eb0d7aa415c3648d464c2885484"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a modifiable reference to the route at AllRoutesVector position 'At', after performing range checking on the 'At' value and throwing an error if out of range.  <a href="class_t_all_routes.html#a8b522eb0d7aa415c3648d464c2885484">More...</a><br /></td></tr>
<tr class="separator:a8b522eb0d7aa415c3648d464c2885484"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22bbb69a96356c26848fe9c6b154f387"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_t_one_route.html">TOneRoute</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a22bbb69a96356c26848fe9c6b154f387">GetModifiableRouteAtIDNumber</a> (int Caller, <a class="el" href="class_i_d_int.html">IDInt</a> RouteID)</td></tr>
<tr class="memdesc:a22bbb69a96356c26848fe9c6b154f387"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a modifiable reference to the route with ID number RouteID. If no route is found with that ID an error is thrown.  <a href="class_t_all_routes.html#a22bbb69a96356c26848fe9c6b154f387">More...</a><br /></td></tr>
<tr class="separator:a22bbb69a96356c26848fe9c6b154f387"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73d2c20327947600e5af57f908359343"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_t_all_routes.html#a159a7d547e3d435d109a36cb41193a78">TRouteElementPair</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a73d2c20327947600e5af57f908359343">FindRoutePairFromRoute2MultiMap</a> (int Caller, int HLoc, int VLoc, int ELink, <a class="el" href="class_t_all_routes.html#a44189363afe506f3f87c3cb6f81c539b">TRoute2MultiMapIterator</a> &amp;Route2MultiMapIterator)</td></tr>
<tr class="memdesc:a73d2c20327947600e5af57f908359343"><td class="mdescLeft">&#160;</td><td class="mdescRight">Examines Route2MultiMap and returns a TRouteElementPair if one is found with the passed values of H, V and ELink.  <a href="class_t_all_routes.html#a73d2c20327947600e5af57f908359343">More...</a><br /></td></tr>
<tr class="separator:a73d2c20327947600e5af57f908359343"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7eda7a4b535c7538e217bbbc4d878071"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_t_all_routes.html#a159a7d547e3d435d109a36cb41193a78">TRouteElementPair</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a7eda7a4b535c7538e217bbbc4d878071">GetRouteElementDataFromRoute2MultiMap</a> (int Caller, int HLoc, int VLoc, <a class="el" href="class_t_all_routes.html#a159a7d547e3d435d109a36cb41193a78">TRouteElementPair</a> &amp;SecondPair)</td></tr>
<tr class="memdesc:a7eda7a4b535c7538e217bbbc4d878071"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve up to two TRouteElementPair entries from Route2MultiMap at H &amp; V, the first as a function return and the second in the reference SecondPair. If there's only one then it's the function return.  <a href="class_t_all_routes.html#a7eda7a4b535c7538e217bbbc4d878071">More...</a><br /></td></tr>
<tr class="separator:a7eda7a4b535c7538e217bbbc4d878071"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbb161c646677f13755041b895a23982"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_t_all_routes.html#af94f31040cc7692c777123c609d4cbd6">TRouteType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#afbb161c646677f13755041b895a23982">GetRouteTypeAndGraphics</a> (int Caller, int TrackVectorPosition, int LinkPos, Graphics::TBitmap *&amp;EXGraphicPtr, Graphics::TBitmap *&amp;EntryDirectionGraphicPtr)</td></tr>
<tr class="memdesc:afbb161c646677f13755041b895a23982"><td class="mdescLeft">&#160;</td><td class="mdescRight">Examines Route2MultiMap for the element at TrackVectorPosition with LinkPos (can be entry or exit).  <a href="class_t_all_routes.html#afbb161c646677f13755041b895a23982">More...</a><br /></td></tr>
<tr class="separator:afbb161c646677f13755041b895a23982"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a9ccbc84687f85806115877aa86dcfd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_t_all_routes.html#af94f31040cc7692c777123c609d4cbd6">TRouteType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a0a9ccbc84687f85806115877aa86dcfd">GetRouteTypeAndNumber</a> (int Caller, int TrackVectorPosition, int LinkPos, int &amp;RouteNumber)</td></tr>
<tr class="memdesc:a0a9ccbc84687f85806115877aa86dcfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Examines Route2MultiMap and if the element at TrackVectorPosition with LinkPos (can be entry or exit) is found returns the appropriate route type - NoRoute, NotAutoSigsRoute, or AutoSigsRoute and number (i.e. its position in AllRoutesVector, -1 if NoRoute).  <a href="class_t_all_routes.html#a0a9ccbc84687f85806115877aa86dcfd">More...</a><br /></td></tr>
<tr class="separator:a0a9ccbc84687f85806115877aa86dcfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eaa33fa8e8dcb44d0671be5889305a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a6eaa33fa8e8dcb44d0671be5889305a9">AddRouteElement</a> (int Caller, int HLoc, int VLoc, int ELink, int RouteNumber, <a class="el" href="class_t_pref_dir_element.html">TPrefDirElement</a> RouteElement)</td></tr>
<tr class="memdesc:a6eaa33fa8e8dcb44d0671be5889305a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">A single <a class="el" href="class_t_pref_dir_element.html" title="Basic preferred direction or route element - track element with additional members.">TPrefDirElement</a> is added to both PrefDirVector (for the route at RouteNumber) and Route2MultiMap. Called from <a class="el" href="class_t_all_routes.html#af70c07d73f0b62ed85bbebc5451d009c" title="A new (empty apart from RouteID) TOneRoute is added to the AllRoutesVector.">TAllRoutes::StoreOneRoute</a>. Note that the IsARoute boolean variable is set in StoreRouteElementInPrefDirVector since that catches all route elements wherever created.  <a href="class_t_all_routes.html#a6eaa33fa8e8dcb44d0671be5889305a9">More...</a><br /></td></tr>
<tr class="separator:a6eaa33fa8e8dcb44d0671be5889305a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54e5483e7b01daf50436e3dcc8794e77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a54e5483e7b01daf50436e3dcc8794e77">CheckMapAndRoutes</a> (int Caller)</td></tr>
<tr class="memdesc:a54e5483e7b01daf50436e3dcc8794e77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Diagnostic function - checks equivalence for each route between entries in PrefDirVector and those in Route2MultiMap, and also that the size of the multimap and the sum of the sizes of all PrefDirVectors is the same. Throws an error if there is a discrepancy.  <a href="class_t_all_routes.html#a54e5483e7b01daf50436e3dcc8794e77">More...</a><br /></td></tr>
<tr class="separator:a54e5483e7b01daf50436e3dcc8794e77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab23a53bd95aeb951108a004735b9a45e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#ab23a53bd95aeb951108a004735b9a45e">ClearRouteDuringRouteBuildingAt</a> (int Caller, int RouteNumber)</td></tr>
<tr class="memdesc:ab23a53bd95aeb951108a004735b9a45e"><td class="mdescLeft">&#160;</td><td class="mdescRight">When attaching a new route section to an existing route, it is sometimes necessary to erase the original route and create a new composite route.  <a href="class_t_all_routes.html#ab23a53bd95aeb951108a004735b9a45e">More...</a><br /></td></tr>
<tr class="separator:ab23a53bd95aeb951108a004735b9a45e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ebf1d3fbba09f98acc23b7d18822e9e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a5ebf1d3fbba09f98acc23b7d18822e9e">DecrementRouteElementNumbersInRoute2MultiMap</a> (int Caller, int RouteNumber, unsigned int ErasedElementNumber)</td></tr>
<tr class="memdesc:a5ebf1d3fbba09f98acc23b7d18822e9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">After a route element has been erased from the relevant PrefDirVector and from Route2MultiMap, this function examines all the remaining entries in Route2MultiMap with the same RouteNumber as that for the erased element. Where a RouteElementNumber exceeds that for the erased element it is decremented.  <a href="class_t_all_routes.html#a5ebf1d3fbba09f98acc23b7d18822e9e">More...</a><br /></td></tr>
<tr class="separator:a5ebf1d3fbba09f98acc23b7d18822e9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b18fe89f84962fca0a86063043b2a75"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a5b18fe89f84962fca0a86063043b2a75">DecrementRouteNumbersInRoute2MultiMap</a> (int Caller, int RouteNumber)</td></tr>
<tr class="memdesc:a5b18fe89f84962fca0a86063043b2a75"><td class="mdescLeft">&#160;</td><td class="mdescRight">After a route has been erased from AllRoutesVector and its entries from Route2MultiMap, this function examines all the remaining entries in Route2MultiMap to see if their RouteNumbers exceed that for the erased route. Where this is so the RouteNumber is decremented.  <a href="class_t_all_routes.html#a5b18fe89f84962fca0a86063043b2a75">More...</a><br /></td></tr>
<tr class="separator:a5b18fe89f84962fca0a86063043b2a75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0a34aa05027527d256566ae52600583"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#af0a34aa05027527d256566ae52600583">MarkAllRoutes</a> (int Caller, <a class="el" href="class_t_display.html">TDisplay</a> *Disp)</td></tr>
<tr class="memdesc:af0a34aa05027527d256566ae52600583"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls PrefDirMarker to display all routes, with RouteCall set to identify a route call, and BuildingPrefDir false.  <a href="class_t_all_routes.html#af0a34aa05027527d256566ae52600583">More...</a><br /></td></tr>
<tr class="separator:af0a34aa05027527d256566ae52600583"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacbc3765d695c99cf64ad2826792508f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#aacbc3765d695c99cf64ad2826792508f">RemoveRouteElement</a> (int Caller, int HLoc, int VLoc, int ELink)</td></tr>
<tr class="memdesc:aacbc3765d695c99cf64ad2826792508f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases the route element from Route2MultiMap and from the PrefDirVector.  <a href="class_t_all_routes.html#aacbc3765d695c99cf64ad2826792508f">More...</a><br /></td></tr>
<tr class="separator:aacbc3765d695c99cf64ad2826792508f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f4b576505cc7f2384edd60ffabddc8f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a6f4b576505cc7f2384edd60ffabddc8f">Route2MultiMapInsert</a> (int Caller, int HLoc, int VLoc, int ELinkIn, int RouteNumber, unsigned int RouteElementNumber)</td></tr>
<tr class="memdesc:a6f4b576505cc7f2384edd60ffabddc8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert an entry in Route2MultiMap. Called by <a class="el" href="class_t_all_routes.html#a6eaa33fa8e8dcb44d0671be5889305a9" title="A single TPrefDirElement is added to both PrefDirVector (for the route at RouteNumber) and Route2Mult...">TAllRoutes::AddRouteElement</a>.  <a href="class_t_all_routes.html#a6f4b576505cc7f2384edd60ffabddc8f">More...</a><br /></td></tr>
<tr class="separator:a6f4b576505cc7f2384edd60ffabddc8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eeafc071c52e16eb1cbe5fb14b2561f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a4eeafc071c52e16eb1cbe5fb14b2561f">SaveRoutes</a> (int Caller, std::ofstream &amp;OutFile)</td></tr>
<tr class="memdesc:a4eeafc071c52e16eb1cbe5fb14b2561f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Save railway route information to a session file or an error file.  <a href="class_t_all_routes.html#a4eeafc071c52e16eb1cbe5fb14b2561f">More...</a><br /></td></tr>
<tr class="separator:a4eeafc071c52e16eb1cbe5fb14b2561f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6bd39457747eaa96476a8a87df15ac2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#ac6bd39457747eaa96476a8a87df15ac2">SetAllRearwardsSignals</a> (int Caller, int Attribute, int RouteNumber, int RouteStartPosition)</td></tr>
<tr class="memdesc:ac6bd39457747eaa96476a8a87df15ac2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set rearwards signals from the specified route starting position.  <a href="class_t_all_routes.html#ac6bd39457747eaa96476a8a87df15ac2">More...</a><br /></td></tr>
<tr class="separator:ac6bd39457747eaa96476a8a87df15ac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ab882d5be1966d8a492d13886531c45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a2ab882d5be1966d8a492d13886531c45">SetTrailingSignalsOnAutoSigsRoute</a> (int Caller, int TrackVectorPosition, int XLinkPos)</td></tr>
<tr class="memdesc:a2ab882d5be1966d8a492d13886531c45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enter with signal at TrackVectorElement already set to red by the passing train.  <a href="class_t_all_routes.html#a2ab882d5be1966d8a492d13886531c45">More...</a><br /></td></tr>
<tr class="separator:a2ab882d5be1966d8a492d13886531c45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18177a40331bb96bbec791245b541f47"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a18177a40331bb96bbec791245b541f47">SetTrailingSignalsOnContinuationRoute</a> (int Caller, int RouteNumber, int AccessNumber)</td></tr>
<tr class="memdesc:a18177a40331bb96bbec791245b541f47"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is called by the InterfaceUnit at intervals based on entries in the ContinuationAutoSigVector in TrainController.  <a href="class_t_all_routes.html#a18177a40331bb96bbec791245b541f47">More...</a><br /></td></tr>
<tr class="separator:a18177a40331bb96bbec791245b541f47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af70c07d73f0b62ed85bbebc5451d009c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#af70c07d73f0b62ed85bbebc5451d009c">StoreOneRoute</a> (int Caller, <a class="el" href="class_t_one_route.html">TOneRoute</a> *Route)</td></tr>
<tr class="memdesc:af70c07d73f0b62ed85bbebc5451d009c"><td class="mdescLeft">&#160;</td><td class="mdescRight">A new (empty apart from RouteID) <a class="el" href="class_t_one_route.html" title="A descendent of TOnePrefDir used for routes. Used during contruction of a route (ConstructRoute) and ...">TOneRoute</a> is added to the AllRoutesVector.  <a href="class_t_all_routes.html#af70c07d73f0b62ed85bbebc5451d009c">More...</a><br /></td></tr>
<tr class="separator:af70c07d73f0b62ed85bbebc5451d009c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bf52152ec8f71a9aa78ad4dc4f80c65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a7bf52152ec8f71a9aa78ad4dc4f80c65">StoreOneRouteAfterSessionLoad</a> (int Caller, <a class="el" href="class_t_one_route.html">TOneRoute</a> *Route)</td></tr>
<tr class="memdesc:a7bf52152ec8f71a9aa78ad4dc4f80c65"><td class="mdescLeft">&#160;</td><td class="mdescRight">A new (empty apart from RouteID) <a class="el" href="class_t_one_route.html" title="A descendent of TOnePrefDir used for routes. Used during contruction of a route (ConstructRoute) and ...">TOneRoute</a> is added to the AllRoutesVector after a session load. Very similar to StoreOneRoute but here the RouteID that is already in Route is used.  <a href="class_t_all_routes.html#a7bf52152ec8f71a9aa78ad4dc4f80c65">More...</a><br /></td></tr>
<tr class="separator:a7bf52152ec8f71a9aa78ad4dc4f80c65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c9ca14ec6116983b505f0a451dd078f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a7c9ca14ec6116983b505f0a451dd078f">WriteAllRoutesToImage</a> (int Caller, Graphics::TBitmap *Bitmap)</td></tr>
<tr class="memdesc:a7c9ca14ec6116983b505f0a451dd078f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls RouteImageMarker for each route in turn to display the route colours and direction arrows on the bitmap image (as on screen during operation) for an operating railway.  <a href="class_t_all_routes.html#a7c9ca14ec6116983b505f0a451dd078f">More...</a><br /></td></tr>
<tr class="separator:a7c9ca14ec6116983b505f0a451dd078f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad562b9a2301042e109db1a895235e36f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#ad562b9a2301042e109db1a895235e36f">TAllRoutes</a> ()</td></tr>
<tr class="memdesc:ad562b9a2301042e109db1a895235e36f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="class_t_all_routes.html#ad562b9a2301042e109db1a895235e36f">More...</a><br /></td></tr>
<tr class="separator:ad562b9a2301042e109db1a895235e36f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a8b4c0632615307653f3d1a24de9967b3"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="class_t_all_routes.html#af94f31040cc7692c777123c609d4cbd6">TAllRoutes::TRouteType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a8b4c0632615307653f3d1a24de9967b3">RouteType</a></td></tr>
<tr class="memdesc:a8b4c0632615307653f3d1a24de9967b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">distinguishes between automatic signals routes and other types, or no route at all (where this is used there is no need to distinguish between preferred direction and unrestricted routes)  <a href="class_t_all_routes.html#a8b4c0632615307653f3d1a24de9967b3">More...</a><br /></td></tr>
<tr class="separator:a8b4c0632615307653f3d1a24de9967b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3993d52ba2a60f04572838e2cbd78bbf"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_t_all_routes_1_1_t_callon_entry.html">TCallonEntry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a3993d52ba2a60f04572838e2cbd78bbf">CallonVector</a></td></tr>
<tr class="memdesc:a3993d52ba2a60f04572838e2cbd78bbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">the store of all call-on entries  <a href="class_t_all_routes.html#a3993d52ba2a60f04572838e2cbd78bbf">More...</a><br /></td></tr>
<tr class="separator:a3993d52ba2a60f04572838e2cbd78bbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a961a443309f2ea74dc4c24b5a94fd8b6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a961a443309f2ea74dc4c24b5a94fd8b6">LockedRouteFoundDuringRouteBuilding</a></td></tr>
<tr class="memdesc:a961a443309f2ea74dc4c24b5a94fd8b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">this flags the fact that a locked route has been found during route building in an existing linked route which is erased prior to its elements being added to the new route.  <a href="class_t_all_routes.html#a961a443309f2ea74dc4c24b5a94fd8b6">More...</a><br /></td></tr>
<tr class="separator:a961a443309f2ea74dc4c24b5a94fd8b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a932ef101ca1ede0b8b4c71a697c910fc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a932ef101ca1ede0b8b4c71a697c910fc">LockedRouteLastXLinkPos</a></td></tr>
<tr class="separator:a932ef101ca1ede0b8b4c71a697c910fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa31c5ca56d5c358af8cc526bc03cf0d"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#aaa31c5ca56d5c358af8cc526bc03cf0d">LockedRouteRearTrackVectorPosition</a></td></tr>
<tr class="separator:aaa31c5ca56d5c358af8cc526bc03cf0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae25faa44924c79b1fa18d974bca16ec8"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#ae25faa44924c79b1fa18d974bca16ec8">LockedRouteLastTrackVectorPosition</a></td></tr>
<tr class="separator:ae25faa44924c79b1fa18d974bca16ec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04a50104e401446c3fedfc6901667559"><td class="memItemLeft" align="right" valign="top">TDateTime&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a04a50104e401446c3fedfc6901667559">LockedRouteLockStartTime</a></td></tr>
<tr class="separator:a04a50104e401446c3fedfc6901667559"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a140f03788fbf646cb07f3c51f1f19175"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a140f03788fbf646cb07f3c51f1f19175">RebuildRailwayFlag</a></td></tr>
<tr class="memdesc:a140f03788fbf646cb07f3c51f1f19175"><td class="mdescLeft">&#160;</td><td class="mdescRight">this is set whenever a route has to be cancelled forcibly in order to force a ClearandRebuildRailway at the next clock tick if not in zoom-out mode to clear the now cancelled route on the display  <a href="class_t_all_routes.html#a140f03788fbf646cb07f3c51f1f19175">More...</a><br /></td></tr>
<tr class="separator:a140f03788fbf646cb07f3c51f1f19175"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86d544429dcddbcbe43e63c8879128ee"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a86d544429dcddbcbe43e63c8879128ee">RouteTruncateFlag</a></td></tr>
<tr class="separator:a86d544429dcddbcbe43e63c8879128ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a753f581cd8fb39826bea73c7419398fb"><td class="memItemLeft" align="right" valign="top">const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a753f581cd8fb39826bea73c7419398fb">LevelCrossingBarrierUpDelay</a></td></tr>
<tr class="memdesc:a753f581cd8fb39826bea73c7419398fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; used to flag the fact that a route is being truncated in order to change the behaviour of signal aspect setting in SetRearwardsSignalsReturnFalseForTrainInRear  <a href="class_t_all_routes.html#a753f581cd8fb39826bea73c7419398fb">More...</a><br /></td></tr>
<tr class="separator:a753f581cd8fb39826bea73c7419398fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a493783f7ff267d2dcf347f1958714d72"><td class="memItemLeft" align="right" valign="top">const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a493783f7ff267d2dcf347f1958714d72">LevelCrossingBarrierDownDelay</a></td></tr>
<tr class="memdesc:a493783f7ff267d2dcf347f1958714d72"><td class="mdescLeft">&#160;</td><td class="mdescRight">the full value in seconds for which the level crossing flashes prior to opening to trains  <a href="class_t_all_routes.html#a493783f7ff267d2dcf347f1958714d72">More...</a><br /></td></tr>
<tr class="separator:a493783f7ff267d2dcf347f1958714d72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f0e30f383ca3cb65ab72d102c162316"><td class="memItemLeft" align="right" valign="top">const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a7f0e30f383ca3cb65ab72d102c162316">PointsDelay</a></td></tr>
<tr class="memdesc:a7f0e30f383ca3cb65ab72d102c162316"><td class="mdescLeft">&#160;</td><td class="mdescRight">the value in seconds for which points flash prior to being changed. Used for the points flash period when changing points manually and for the route flash period when points have to be changed  <a href="class_t_all_routes.html#a7f0e30f383ca3cb65ab72d102c162316">More...</a><br /></td></tr>
<tr class="separator:a7f0e30f383ca3cb65ab72d102c162316"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7183b12f8de4fcb82e036252a37d574d"><td class="memItemLeft" align="right" valign="top">const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a7183b12f8de4fcb82e036252a37d574d">SignalsDelay</a></td></tr>
<tr class="memdesc:a7183b12f8de4fcb82e036252a37d574d"><td class="mdescLeft">&#160;</td><td class="mdescRight">the value in seconds for which signals flash prior to being changed. Used for the route flash period when points don't have to be changed  <a href="class_t_all_routes.html#a7183b12f8de4fcb82e036252a37d574d">More...</a><br /></td></tr>
<tr class="separator:a7183b12f8de4fcb82e036252a37d574d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a936864598364d2e8c0aea147fea11196"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a936864598364d2e8c0aea147fea11196">NextRouteID</a></td></tr>
<tr class="memdesc:a936864598364d2e8c0aea147fea11196"><td class="mdescLeft">&#160;</td><td class="mdescRight">stores the value for the route ID number that is next to be built  <a href="class_t_all_routes.html#a936864598364d2e8c0aea147fea11196">More...</a><br /></td></tr>
<tr class="separator:a936864598364d2e8c0aea147fea11196"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c036524b1264c39fa5fd533788d8fae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_t_all_routes.html#a34636f74b522ec911900fce48ea6667c">TAllRoutesVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a0c036524b1264c39fa5fd533788d8fae">AllRoutesVector</a></td></tr>
<tr class="memdesc:a0c036524b1264c39fa5fd533788d8fae"><td class="mdescLeft">&#160;</td><td class="mdescRight">the vector that stores all the routes on the railway  <a href="class_t_all_routes.html#a0c036524b1264c39fa5fd533788d8fae">More...</a><br /></td></tr>
<tr class="separator:a0c036524b1264c39fa5fd533788d8fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac714cf25fa52dcf055f1feb449e751e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_t_all_routes.html#a00c2d57382ed6560f1c611bdfddc3a6f">TLockedRouteVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#ac714cf25fa52dcf055f1feb449e751e2">LockedRouteVector</a></td></tr>
<tr class="memdesc:ac714cf25fa52dcf055f1feb449e751e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">the vector that stores all the locked routes on the railway  <a href="class_t_all_routes.html#ac714cf25fa52dcf055f1feb449e751e2">More...</a><br /></td></tr>
<tr class="separator:ac714cf25fa52dcf055f1feb449e751e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a747ff868fb8db132732b282b1c30f35b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_t_one_route.html">TOneRoute</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a747ff868fb8db132732b282b1c30f35b">SignallerRemovedTrainAutoRoute</a></td></tr>
<tr class="memdesc:a747ff868fb8db132732b282b1c30f35b"><td class="mdescLeft">&#160;</td><td class="mdescRight">if train was on an AutoSigsRoute when removed then this stores the route so that signals can be reset  <a href="class_t_all_routes.html#a747ff868fb8db132732b282b1c30f35b">More...</a><br /></td></tr>
<tr class="separator:a747ff868fb8db132732b282b1c30f35b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dc6dfad729cb6659fb1cceafe00aa79"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_t_all_routes.html#a1d2aa3032df6e13d1f6f1a93f96157c6">TRoute2MultiMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_all_routes.html#a5dc6dfad729cb6659fb1cceafe00aa79">Route2MultiMap</a></td></tr>
<tr class="memdesc:a5dc6dfad729cb6659fb1cceafe00aa79"><td class="mdescLeft">&#160;</td><td class="mdescRight">the map that stores the elements of all routes on the railway (see TRoute2MultiMap for more info)  <a href="class_t_all_routes.html#a5dc6dfad729cb6659fb1cceafe00aa79">More...</a><br /></td></tr>
<tr class="separator:a5dc6dfad729cb6659fb1cceafe00aa79"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Handles data and functions relating to all routes on the railway. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01653">1653</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a34636f74b522ec911900fce48ea6667c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34636f74b522ec911900fce48ea6667c">&#9670;&nbsp;</a></span>TAllRoutesVector</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="class_t_one_route.html">TOneRoute</a>&gt; <a class="el" href="class_t_all_routes.html#a34636f74b522ec911900fce48ea6667c">TAllRoutes::TAllRoutesVector</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>the vector class that holds all the railway routes </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01679">1679</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a863ba954ac5b7e2197ae1074cc7e268b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a863ba954ac5b7e2197ae1074cc7e268b">&#9670;&nbsp;</a></span>TAllRoutesVectorIterator</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="class_t_one_route.html">TOneRoute</a>&gt;::iterator <a class="el" href="class_t_all_routes.html#a863ba954ac5b7e2197ae1074cc7e268b">TAllRoutes::TAllRoutesVectorIterator</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01681">1681</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a00c2d57382ed6560f1c611bdfddc3a6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00c2d57382ed6560f1c611bdfddc3a6f">&#9670;&nbsp;</a></span>TLockedRouteVector</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="class_t_all_routes_1_1_t_locked_route_class.html">TLockedRouteClass</a>&gt; <a class="el" href="class_t_all_routes.html#a00c2d57382ed6560f1c611bdfddc3a6f">TAllRoutes::TLockedRouteVector</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>the vector class that holds all locked routes </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01683">1683</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="ac58b6335a806c347545f73f680b45afa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac58b6335a806c347545f73f680b45afa">&#9670;&nbsp;</a></span>TLockedRouteVectorIterator</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="class_t_all_routes_1_1_t_locked_route_class.html">TLockedRouteClass</a>&gt;::iterator <a class="el" href="class_t_all_routes.html#ac58b6335a806c347545f73f680b45afa">TAllRoutes::TLockedRouteVectorIterator</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01685">1685</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a1d2aa3032df6e13d1f6f1a93f96157c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d2aa3032df6e13d1f6f1a93f96157c6">&#9670;&nbsp;</a></span>TRoute2MultiMap</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::multimap&lt;<a class="el" href="_track_unit_8h.html#a524d48fe8a394092b35867930a7cd2af">THVPair</a>, <a class="el" href="class_t_all_routes.html#a159a7d547e3d435d109a36cb41193a78">TRouteElementPair</a>, <a class="el" href="class_t_map_comp.html">TMapComp</a>&gt; <a class="el" href="class_t_all_routes.html#a1d2aa3032df6e13d1f6f1a93f96157c6">TAllRoutes::TRoute2MultiMap</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>the multimap class holding the elements of all routes in the railway. The first entry is the HLoc &amp; VLoc pair values of the route element, and the second is the TRouteElementPair defining the element. There are a maximum of 2 elements per HLoc &amp; VLoc location </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01689">1689</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a993331007a31dae38f2d81afe0796ef4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a993331007a31dae38f2d81afe0796ef4">&#9670;&nbsp;</a></span>TRoute2MultiMapEntry</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::pair&lt;<a class="el" href="_track_unit_8h.html#a524d48fe8a394092b35867930a7cd2af">THVPair</a>, <a class="el" href="class_t_all_routes.html#a159a7d547e3d435d109a36cb41193a78">TRouteElementPair</a>&gt; <a class="el" href="class_t_all_routes.html#a993331007a31dae38f2d81afe0796ef4">TAllRoutes::TRoute2MultiMapEntry</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01692">1692</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a44189363afe506f3f87c3cb6f81c539b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44189363afe506f3f87c3cb6f81c539b">&#9670;&nbsp;</a></span>TRoute2MultiMapIterator</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef TRoute2MultiMap::iterator <a class="el" href="class_t_all_routes.html#a44189363afe506f3f87c3cb6f81c539b">TAllRoutes::TRoute2MultiMapIterator</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01691">1691</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a159a7d547e3d435d109a36cb41193a78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a159a7d547e3d435d109a36cb41193a78">&#9670;&nbsp;</a></span>TRouteElementPair</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::pair&lt;int, unsigned int&gt; <a class="el" href="class_t_all_routes.html#a159a7d547e3d435d109a36cb41193a78">TAllRoutes::TRouteElementPair</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>defines a specific element in a route, the first (int) value is the vector position in the AllRoutesVector, and the second (unsigned int) value is the vector position of the element in the route's PrefDirVector </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01687">1687</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="af94f31040cc7692c777123c609d4cbd6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af94f31040cc7692c777123c609d4cbd6">&#9670;&nbsp;</a></span>TRouteType</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="class_t_all_routes.html#af94f31040cc7692c777123c609d4cbd6">TAllRoutes::TRouteType</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af94f31040cc7692c777123c609d4cbd6a45c323d501815c8447bcfc47854800a2"></a>NoRoute&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="af94f31040cc7692c777123c609d4cbd6a6b55a0d86ea41362f6bef618a88c07dc"></a>NotAutoSigsRoute&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="af94f31040cc7692c777123c609d4cbd6a9452af506b9a9a2513ba95b114ec59e5"></a>AutoSigsRoute&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01673">1673</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ad562b9a2301042e109db1a895235e36f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad562b9a2301042e109db1a895235e36f">&#9670;&nbsp;</a></span>TAllRoutes()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">TAllRoutes::TAllRoutes </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01866">1866</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a6eaa33fa8e8dcb44d0671be5889305a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6eaa33fa8e8dcb44d0671be5889305a9">&#9670;&nbsp;</a></span>AddRouteElement()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::AddRouteElement </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>HLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>VLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ELink</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>RouteNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_t_pref_dir_element.html">TPrefDirElement</a>&#160;</td>
          <td class="paramname"><em>RouteElement</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A single <a class="el" href="class_t_pref_dir_element.html" title="Basic preferred direction or route element - track element with additional members.">TPrefDirElement</a> is added to both PrefDirVector (for the route at RouteNumber) and Route2MultiMap. Called from <a class="el" href="class_t_all_routes.html#af70c07d73f0b62ed85bbebc5451d009c" title="A new (empty apart from RouteID) TOneRoute is added to the AllRoutesVector.">TAllRoutes::StoreOneRoute</a>. Note that the IsARoute boolean variable is set in StoreRouteElementInPrefDirVector since that catches all route elements wherever created. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20827">20827</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a6eaa33fa8e8dcb44d0671be5889305a9_cgraph.svg" width="442" height="190"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 1 -->
</div>
</div>

</div>
</div>
<a id="a30042b2492dc00cec8e5cba68c446efb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30042b2492dc00cec8e5cba68c446efb">&#9670;&nbsp;</a></span>AllRoutesClear()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::AllRoutesClear </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Erases all routes from AllRoutesVector and from Route2MultiMap. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01762">1762</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a30042b2492dc00cec8e5cba68c446efb_icgraph.svg" width="403" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>

</div>
</div>
<a id="a438b71f3afbc2c8adb45b47f69cb3bb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a438b71f3afbc2c8adb45b47f69cb3bb9">&#9670;&nbsp;</a></span>AllRoutesSize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int TAllRoutes::AllRoutesSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the number of routes in the railway. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01756">1756</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 2 -->
</div>
</div>

</div>
</div>
<a id="a12eedbd538ea1c2d3f204e5f2f62e1cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12eedbd538ea1c2d3f204e5f2f62e1cd">&#9670;&nbsp;</a></span>CheckForLoopingRoute()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TAllRoutes::CheckForLoopingRoute </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>EndPosition</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>EndXLinkPos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>StartPosition</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Functions defined in .cpp file. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l21439">21439</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a12eedbd538ea1c2d3f204e5f2f62e1cd_cgraph.svg" width="651" height="151"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a12eedbd538ea1c2d3f204e5f2f62e1cd_icgraph.svg" width="100%" height="388"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>

</div>
</div>
<a id="a54e5483e7b01daf50436e3dcc8794e77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54e5483e7b01daf50436e3dcc8794e77">&#9670;&nbsp;</a></span>CheckMapAndRoutes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::CheckMapAndRoutes </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Diagnostic function - checks equivalence for each route between entries in PrefDirVector and those in Route2MultiMap, and also that the size of the multimap and the sum of the sizes of all PrefDirVectors is the same. Throws an error if there is a discrepancy. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20617">20617</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a54e5483e7b01daf50436e3dcc8794e77_cgraph.svg" width="666" height="307"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 3 -->
</div>
</div>

</div>
</div>
<a id="ad151a9c7a0ad304f0f5c5c6b523ffb2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad151a9c7a0ad304f0f5c5c6b523ffb2e">&#9670;&nbsp;</a></span>CheckRoutes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TAllRoutes::CheckRoutes </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>NumberOfActiveElements</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::ifstream &amp;&#160;</td>
          <td class="paramname"><em>InFile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an integrity check on the routes stored in a session file and returns false if there is an error. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l21401">21401</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_ad151a9c7a0ad304f0f5c5c6b523ffb2e_cgraph.svg" width="100%" height="492"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_ad151a9c7a0ad304f0f5c5c6b523ffb2e_icgraph.svg" width="100%" height="300"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>

</div>
</div>
<a id="ab23a53bd95aeb951108a004735b9a45e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab23a53bd95aeb951108a004735b9a45e">&#9670;&nbsp;</a></span>ClearRouteDuringRouteBuildingAt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::ClearRouteDuringRouteBuildingAt </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>RouteNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>When attaching a new route section to an existing route, it is sometimes necessary to erase the original route and create a new composite route. </p>
<p>This function erases all elements in the route at RouteNumber using TAllRoutes-&gt;RemoveRouteElement to clear elements from Route2MultiMap and from the PrefDirVector. Since all elements for the route are removed RemoveRouteElement also clears the Route from AllRoutesVector. Route numbers are decremented in the map for route numbers that are greater than the route number that is removed. The LockedRouteVector is also searched and if any relate to the route that has been cleared they are erased too, but the fact that one has been found is recorded so that it can be re-established later. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20357">20357</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_ab23a53bd95aeb951108a004735b9a45e_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_ab23a53bd95aeb951108a004735b9a45e_icgraph.svg" width="100%" height="427"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>

</div>
</div>
<a id="a5ebf1d3fbba09f98acc23b7d18822e9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ebf1d3fbba09f98acc23b7d18822e9e">&#9670;&nbsp;</a></span>DecrementRouteElementNumbersInRoute2MultiMap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::DecrementRouteElementNumbersInRoute2MultiMap </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>RouteNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>ErasedElementNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>After a route element has been erased from the relevant PrefDirVector and from Route2MultiMap, this function examines all the remaining entries in Route2MultiMap with the same RouteNumber as that for the erased element. Where a RouteElementNumber exceeds that for the erased element it is decremented. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20695">20695</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a5ebf1d3fbba09f98acc23b7d18822e9e_cgraph.svg" width="432" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>

</div>
</div>
<a id="a5b18fe89f84962fca0a86063043b2a75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b18fe89f84962fca0a86063043b2a75">&#9670;&nbsp;</a></span>DecrementRouteNumbersInRoute2MultiMap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::DecrementRouteNumbersInRoute2MultiMap </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>RouteNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>After a route has been erased from AllRoutesVector and its entries from Route2MultiMap, this function examines all the remaining entries in Route2MultiMap to see if their RouteNumbers exceed that for the erased route. Where this is so the RouteNumber is decremented. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20672">20672</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a5b18fe89f84962fca0a86063043b2a75_cgraph.svg" width="396" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>

</div>
</div>
<a id="ae3fb64509afc46d5871c7843c7769f88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3fb64509afc46d5871c7843c7769f88">&#9670;&nbsp;</a></span>DiagonalFouledByRoute()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TAllRoutes::DiagonalFouledByRoute </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>HLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>VLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>DiagonalLinkNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>As above but only checks for a route (may or may not be a train present (new at v1.2.0) </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l21691">21691</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_ae3fb64509afc46d5871c7843c7769f88_cgraph.svg" width="632" height="231"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 4 -->
</div>
</div>

</div>
</div>
<a id="a2341a7e860e716e60b733f45814e4499"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2341a7e860e716e60b733f45814e4499">&#9670;&nbsp;</a></span>DiagonalFouledByRouteOrTrain()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TAllRoutes::DiagonalFouledByRouteOrTrain </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>HLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>VLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>DiagonalLinkNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The track geometry allows diagonals to cross without occupying the same track element, so when route plotting it is necessary to check if there is an existing route or a train on such a crossing diagonal. Returns true for a fouled (i.e. fouled by a route or a train) diagonal. New at v1.2.0. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l21521">21521</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a2341a7e860e716e60b733f45814e4499_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 5 -->
</div>
</div>

</div>
</div>
<a id="ac80a3ae43f749d401f470de711e8e4b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac80a3ae43f749d401f470de711e8e4b0">&#9670;&nbsp;</a></span>FindRouteNumberFromRoute2MultiMapNoErrors()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TAllRoutes::FindRouteNumberFromRoute2MultiMapNoErrors </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>HLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>VLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ELink</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>RouteNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>If a route is present at H, V &amp; Elink returns true with RouteNumber giving vector position in AllRoutes vector. Returns false for anything else including no element or route at H &amp; V etc. New at v1.2.0. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20467">20467</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_ac80a3ae43f749d401f470de711e8e4b0_cgraph.svg" width="403" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 6 -->
</div>
</div>

</div>
</div>
<a id="a73d2c20327947600e5af57f908359343"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73d2c20327947600e5af57f908359343">&#9670;&nbsp;</a></span>FindRoutePairFromRoute2MultiMap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_t_all_routes.html#a159a7d547e3d435d109a36cb41193a78">TAllRoutes::TRouteElementPair</a> TAllRoutes::FindRoutePairFromRoute2MultiMap </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>HLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>VLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ELink</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_t_all_routes.html#a44189363afe506f3f87c3cb6f81c539b">TRoute2MultiMapIterator</a> &amp;&#160;</td>
          <td class="paramname"><em>Route2MultiMapIterator</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Examines Route2MultiMap and returns a TRouteElementPair if one is found with the passed values of H, V and ELink. </p>
<p>Also returned as a reference is an iterator to the found element in the map to assist in erasing it. Called by <a class="el" href="class_t_all_routes.html#aacbc3765d695c99cf64ad2826792508f" title="Erases the route element from Route2MultiMap and from the PrefDirVector.">TAllRoutes::RemoveRouteElement</a>. Note that only need ELink (as well as H &amp; V) to identify uniquely, since only bridges can have two routes on them &amp; their track ELinks are always different. Messages are given for failure. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20408">20408</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a73d2c20327947600e5af57f908359343_cgraph.svg" width="380" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>

</div>
</div>
<a id="a7d9f820738af6314f2b9a4a1f52bb64a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d9f820738af6314f2b9a4a1f52bb64a">&#9670;&nbsp;</a></span>GetFixedRouteAt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_t_one_route.html">TOneRoute</a> &amp; TAllRoutes::GetFixedRouteAt </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>At</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a constant reference to the route at AllRoutesVector position 'At', after performing range checking on the 'At' value and throwing an error if out of range. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l19833">19833</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a7d9f820738af6314f2b9a4a1f52bb64a_cgraph.svg" width="399" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 7 -->
</div>
</div>

</div>
</div>
<a id="a415c16a43e8e997c82226987e7bffc59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a415c16a43e8e997c82226987e7bffc59">&#9670;&nbsp;</a></span>GetFixedRouteAtIDNumber()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_t_one_route.html">TOneRoute</a> &amp; TAllRoutes::GetFixedRouteAtIDNumber </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_i_d_int.html">IDInt</a>&#160;</td>
          <td class="paramname"><em>RouteID</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a constant reference to the route with ID number RouteID. If no route is found with that ID an error is thrown. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l21326">21326</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a415c16a43e8e997c82226987e7bffc59_cgraph.svg" width="386" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a415c16a43e8e997c82226987e7bffc59_icgraph.svg" width="100%" height="427"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>

</div>
</div>
<a id="a8b522eb0d7aa415c3648d464c2885484"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b522eb0d7aa415c3648d464c2885484">&#9670;&nbsp;</a></span>GetModifiableRouteAt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_t_one_route.html">TOneRoute</a> &amp; TAllRoutes::GetModifiableRouteAt </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>At</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a modifiable reference to the route at AllRoutesVector position 'At', after performing range checking on the 'At' value and throwing an error if out of range. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l19846">19846</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a8b522eb0d7aa415c3648d464c2885484_cgraph.svg" width="378" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 8 -->
</div>
</div>

</div>
</div>
<a id="a22bbb69a96356c26848fe9c6b154f387"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22bbb69a96356c26848fe9c6b154f387">&#9670;&nbsp;</a></span>GetModifiableRouteAtIDNumber()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_t_one_route.html">TOneRoute</a> &amp; TAllRoutes::GetModifiableRouteAtIDNumber </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_i_d_int.html">IDInt</a>&#160;</td>
          <td class="paramname"><em>RouteID</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a modifiable reference to the route with ID number RouteID. If no route is found with that ID an error is thrown. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l21342">21342</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a22bbb69a96356c26848fe9c6b154f387_cgraph.svg" width="378" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a22bbb69a96356c26848fe9c6b154f387_icgraph.svg" width="100%" height="427"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>

</div>
</div>
<a id="a7eda7a4b535c7538e217bbbc4d878071"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7eda7a4b535c7538e217bbbc4d878071">&#9670;&nbsp;</a></span>GetRouteElementDataFromRoute2MultiMap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_t_all_routes.html#a159a7d547e3d435d109a36cb41193a78">TAllRoutes::TRouteElementPair</a> TAllRoutes::GetRouteElementDataFromRoute2MultiMap </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>HLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>VLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_t_all_routes.html#a159a7d547e3d435d109a36cb41193a78">TAllRoutes::TRouteElementPair</a> &amp;&#160;</td>
          <td class="paramname"><em>SecondPair</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve up to two TRouteElementPair entries from Route2MultiMap at H &amp; V, the first as a function return and the second in the reference SecondPair. If there's only one then it's the function return. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20573">20573</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a7eda7a4b535c7538e217bbbc4d878071_cgraph.svg" width="402" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 9 -->
</div>
</div>

</div>
</div>
<a id="afbb161c646677f13755041b895a23982"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbb161c646677f13755041b895a23982">&#9670;&nbsp;</a></span>GetRouteTypeAndGraphics()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_t_all_routes.html#af94f31040cc7692c777123c609d4cbd6">TAllRoutes::TRouteType</a> TAllRoutes::GetRouteTypeAndGraphics </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>TrackVectorPosition</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>LinkPos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Graphics::TBitmap *&amp;&#160;</td>
          <td class="paramname"><em>EXGraphicPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Graphics::TBitmap *&amp;&#160;</td>
          <td class="paramname"><em>EntryDirectionGraphicPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Examines Route2MultiMap for the element at TrackVectorPosition with LinkPos (can be entry or exit). </p>
<p>Returns the appropriate route type - NoRoute, NotAutoSigsRoute, or AutoSigsRoute. If element is in a route then the EXGraphicPtr is returned, and if either the start or end of a route then the correct EntryDirectionGraphicPtr is returned, else a transparent element is returned. Function is used int TrainUnit for retaining AutoSigsRoutes but erasing others after train passes, and for picking up the correct background graphics for replotting of AutoSigsRoutes; also used in CallingOnAllowed </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l19987">19987</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_afbb161c646677f13755041b895a23982_cgraph.svg" width="592" height="100"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 10 -->
</div>
</div>

</div>
</div>
<a id="a0a9ccbc84687f85806115877aa86dcfd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a9ccbc84687f85806115877aa86dcfd">&#9670;&nbsp;</a></span>GetRouteTypeAndNumber()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_t_all_routes.html#af94f31040cc7692c777123c609d4cbd6">TAllRoutes::TRouteType</a> TAllRoutes::GetRouteTypeAndNumber </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>TrackVectorPosition</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>LinkPos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>RouteNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Examines Route2MultiMap and if the element at TrackVectorPosition with LinkPos (can be entry or exit) is found returns the appropriate route type - NoRoute, NotAutoSigsRoute, or AutoSigsRoute and number (i.e. its position in AllRoutesVector, -1 if NoRoute). </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20161">20161</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a0a9ccbc84687f85806115877aa86dcfd_cgraph.svg" width="592" height="100"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 11 -->
</div>
</div>

</div>
</div>
<a id="a1913c6b3db0107874816d94a4d77e7a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1913c6b3db0107874816d94a4d77e7a8">&#9670;&nbsp;</a></span>GetRouteVectorNumber()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int TAllRoutes::GetRouteVectorNumber </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_i_d_int.html">IDInt</a>&#160;</td>
          <td class="paramname"><em>RouteID</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a route's position in AllRoutesVector from its ID, throws an error if a matching route isn't found. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l21291">21291</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a1913c6b3db0107874816d94a4d77e7a8_cgraph.svg" width="392" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 12 -->
</div>
</div>

</div>
</div>
<a id="aa92b37f73176fcf3454688bb15b9f64c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa92b37f73176fcf3454688bb15b9f64c">&#9670;&nbsp;</a></span>IsElementInLockedRouteGetPrefDirElementGetLockedVectorNumber()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TAllRoutes::IsElementInLockedRouteGetPrefDirElementGetLockedVectorNumber </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>TrackVectorPosition</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>XLinkPos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_t_pref_dir_element.html">TPrefDirElement</a> &amp;&#160;</td>
          <td class="paramname"><em>PrefDirElement</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>LockedVectorNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks whether the preferred direction element at TrackVectorPosition with XLinkPos value is in a locked route and returns true if so together with the element itself copied to &amp;PrefDirElement &amp; the LockedRouteVector position in &amp;LockedVectorNumber. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l21204">21204</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 13 -->
</div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 14 -->
</div>
</div>

</div>
</div>
<a id="ac0c25f0bd613ff645dab243f1eb8b593"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0c25f0bd613ff645dab243f1eb8b593">&#9670;&nbsp;</a></span>IsThereARouteAtIDNumber()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TAllRoutes::IsThereARouteAtIDNumber </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_i_d_int.html">IDInt</a>&#160;</td>
          <td class="paramname"><em>RouteID</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns true if there is a route with the given ID number - added at v1.3.1 (see function for details) </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l21307">21307</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_ac0c25f0bd613ff645dab243f1eb8b593_cgraph.svg" width="384" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_ac0c25f0bd613ff645dab243f1eb8b593_icgraph.svg" width="100%" height="427"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>

</div>
</div>
<a id="adadd08bb4cbbcaeba918f20c6c103a39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adadd08bb4cbbcaeba918f20c6c103a39">&#9670;&nbsp;</a></span>LoadRoutes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TAllRoutes::LoadRoutes </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::ifstream &amp;&#160;</td>
          <td class="paramname"><em>InFile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Loads the routes from a session file. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l21374">21374</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_adadd08bb4cbbcaeba918f20c6c103a39_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_adadd08bb4cbbcaeba918f20c6c103a39_icgraph.svg" width="100%" height="300"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>

</div>
</div>
<a id="af0a34aa05027527d256566ae52600583"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0a34aa05027527d256566ae52600583">&#9670;&nbsp;</a></span>MarkAllRoutes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::MarkAllRoutes </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_t_display.html">TDisplay</a> *&#160;</td>
          <td class="paramname"><em>Disp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calls PrefDirMarker to display all routes, with RouteCall set to identify a route call, and BuildingPrefDir false. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l19859">19859</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_af0a34aa05027527d256566ae52600583_cgraph.svg" width="384" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 15 -->
</div>
</div>

</div>
</div>
<a id="aacbc3765d695c99cf64ad2826792508f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacbc3765d695c99cf64ad2826792508f">&#9670;&nbsp;</a></span>RemoveRouteElement()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::RemoveRouteElement </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>HLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>VLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ELink</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Erases the route element from Route2MultiMap and from the PrefDirVector. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20719">20719</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_aacbc3765d695c99cf64ad2826792508f_cgraph.svg" width="648" height="134"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 16 -->
</div>
</div>

</div>
</div>
<a id="a6f4b576505cc7f2384edd60ffabddc8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f4b576505cc7f2384edd60ffabddc8f">&#9670;&nbsp;</a></span>Route2MultiMapInsert()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::Route2MultiMapInsert </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>HLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>VLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ELinkIn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>RouteNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>RouteElementNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Insert an entry in Route2MultiMap. Called by <a class="el" href="class_t_all_routes.html#a6eaa33fa8e8dcb44d0671be5889305a9" title="A single TPrefDirElement is added to both PrefDirVector (for the route at RouteNumber) and Route2Mult...">TAllRoutes::AddRouteElement</a>. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20519">20519</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a6f4b576505cc7f2384edd60ffabddc8f_cgraph.svg" width="392" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 17 -->
</div>
</div>

</div>
</div>
<a id="a38ede0231e26c62498999d1873d547a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38ede0231e26c62498999d1873d547a2">&#9670;&nbsp;</a></span>RouteLockingRequired()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TAllRoutes::RouteLockingRequired </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>RouteNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>RouteTruncatePosition</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Route locking is required (returns true) if a moving train is within 3 signals back from the RouteTruncatePosition on the route itself or on any linked routes, unless the first signal back is red, or a train on the element immediately before the start of the rearmost linked route (i.e. not on a route but about to enter the rearmost linked route) - this because train cancels route elements that it touches) </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l21076">21076</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a38ede0231e26c62498999d1873d547a2_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 18 -->
</div>
</div>

</div>
</div>
<a id="a4eeafc071c52e16eb1cbe5fb14b2561f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4eeafc071c52e16eb1cbe5fb14b2561f">&#9670;&nbsp;</a></span>SaveRoutes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::SaveRoutes </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::ofstream &amp;&#160;</td>
          <td class="paramname"><em>OutFile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Save railway route information to a session file or an error file. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l21358">21358</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 19 -->
</div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 20 -->
</div>
</div>

</div>
</div>
<a id="a4d6e53f0e140685bbbd4f945217f8369"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d6e53f0e140685bbbd4f945217f8369">&#9670;&nbsp;</a></span>SearchAllRoutesAndTruncate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TAllRoutes::SearchAllRoutesAndTruncate </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>HLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>VLoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>PrefDirRoute</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Examines all routes and for each uses TruncateRoute to see if the element at H &amp; V is present in that route. </p>
<p>The ReturnFlag value indicates InRouteTrue (success), InRouteFalse (failure), or NotInRoute. Messages are given in TruncateRoute. If successful the route is truncated at and including the element that matches H &amp; V. If PrefDirRoute ensure only truncate to a signal, else prevent truncation to a crossover, bridge or points, also prevent route being left less than 2 elements in length. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l19886">19886</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 21 -->
</div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 22 -->
</div>
</div>

</div>
</div>
<a id="ac6bd39457747eaa96476a8a87df15ac2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6bd39457747eaa96476a8a87df15ac2">&#9670;&nbsp;</a></span>SetAllRearwardsSignals()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::SetAllRearwardsSignals </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Attribute</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>RouteNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>RouteStartPosition</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set rearwards signals from the specified route starting position. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20930">20930</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 23 -->
</div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 24 -->
</div>
</div>

</div>
</div>
<a id="a2ab882d5be1966d8a492d13886531c45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ab882d5be1966d8a492d13886531c45">&#9670;&nbsp;</a></span>SetTrailingSignalsOnAutoSigsRoute()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::SetTrailingSignalsOnAutoSigsRoute </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>TrackVectorPosition</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>XLinkPos</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enter with signal at TrackVectorElement already set to red by the passing train. </p>
<p>Identify the route that the TrackVectorPosition is in, carry out validity checks, then call SetAllRearwardsSignals to set signals in this route and all linked rearwards routes, unless find a train (a) in the current route, in which case the signals behind it are set (and behind any other trains in the current route), but only within the current route; or (b) in a linked rear route, in which case the function sets no further signals. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20843">20843</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a2ab882d5be1966d8a492d13886531c45_cgraph.svg" width="614" height="100"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 25 -->
</div>
</div>

</div>
</div>
<a id="a18177a40331bb96bbec791245b541f47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18177a40331bb96bbec791245b541f47">&#9670;&nbsp;</a></span>SetTrailingSignalsOnContinuationRoute()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::SetTrailingSignalsOnContinuationRoute </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>RouteNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>AccessNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This is called by the InterfaceUnit at intervals based on entries in the ContinuationAutoSigVector in TrainController. </p>
<p>It sets signals on the AutoSigsRoute to correspond to a train having exited the route at a continuation, and passing further signals (outside the simulated railway). Initially the last passed signal will be red, then at the first call it will change to yellow and earlier signals will change accordingly, then double yellow, then green. There are only 3 calls in all for any given route, and the AccessNumber changes from 0 to 1 to 2 for successive calls. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20889">20889</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a18177a40331bb96bbec791245b541f47_cgraph.svg" width="627" height="178"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a18177a40331bb96bbec791245b541f47_icgraph.svg" width="100%" height="300"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>

</div>
</div>
<a id="af70c07d73f0b62ed85bbebc5451d009c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af70c07d73f0b62ed85bbebc5451d009c">&#9670;&nbsp;</a></span>StoreOneRoute()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::StoreOneRoute </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_t_one_route.html">TOneRoute</a> *&#160;</td>
          <td class="paramname"><em>Route</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A new (empty apart from RouteID) <a class="el" href="class_t_one_route.html" title="A descendent of TOnePrefDir used for routes. Used during contruction of a route (ConstructRoute) and ...">TOneRoute</a> is added to the AllRoutesVector. </p>
<p>The route is the last to be added, and will have a RouteNumber of <a class="el" href="class_t_all_routes.html#a438b71f3afbc2c8adb45b47f69cb3bb9" title="Returns the number of routes in the railway.">AllRoutesSize()</a> - 1. Each element of the new route is added in turn using AddRouteElement, which uses HLoc, VLoc, ELink and RouteNumber to provide the information necessary to insert it into both PrefDirVector and Route2MultiMap. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20307">20307</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_af70c07d73f0b62ed85bbebc5451d009c_cgraph.svg" width="615" height="283"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 26 -->
</div>
</div>

</div>
</div>
<a id="a7bf52152ec8f71a9aa78ad4dc4f80c65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bf52152ec8f71a9aa78ad4dc4f80c65">&#9670;&nbsp;</a></span>StoreOneRouteAfterSessionLoad()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::StoreOneRouteAfterSessionLoad </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_t_one_route.html">TOneRoute</a> *&#160;</td>
          <td class="paramname"><em>Route</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A new (empty apart from RouteID) <a class="el" href="class_t_one_route.html" title="A descendent of TOnePrefDir used for routes. Used during contruction of a route (ConstructRoute) and ...">TOneRoute</a> is added to the AllRoutesVector after a session load. Very similar to StoreOneRoute but here the RouteID that is already in Route is used. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l20335">20335</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a7bf52152ec8f71a9aa78ad4dc4f80c65_cgraph.svg" width="615" height="232"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>

</div>
</div>
<a id="aace498b67ccef13364a1afa1f5f15311"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aace498b67ccef13364a1afa1f5f15311">&#9670;&nbsp;</a></span>TrackIsInARoute()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TAllRoutes::TrackIsInARoute </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>TrackVectorPosition</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>LinkPos</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Examines Route2MultiMap and if the element at TrackVectorPosition with LinkPos (can be entry or exit) is found it returns true (for crossovers &amp; points returns true whichever track the route is on), else returns false. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l19924">19924</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_aace498b67ccef13364a1afa1f5f15311_cgraph.svg" width="604" height="100"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><!-- SVG 27 -->
</div>
</div>

</div>
</div>
<a id="a7c9ca14ec6116983b505f0a451dd078f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c9ca14ec6116983b505f0a451dd078f">&#9670;&nbsp;</a></span>WriteAllRoutesToImage()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TAllRoutes::WriteAllRoutesToImage </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Graphics::TBitmap *&#160;</td>
          <td class="paramname"><em>Bitmap</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calls RouteImageMarker for each route in turn to display the route colours and direction arrows on the bitmap image (as on screen during operation) for an operating railway. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8cpp_source.html#l19874">19874</a> of file <a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a7c9ca14ec6116983b505f0a451dd078f_cgraph.svg" width="386" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_t_all_routes_a7c9ca14ec6116983b505f0a451dd078f_icgraph.svg" width="410" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a0c036524b1264c39fa5fd533788d8fae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c036524b1264c39fa5fd533788d8fae">&#9670;&nbsp;</a></span>AllRoutesVector</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_t_all_routes.html#a34636f74b522ec911900fce48ea6667c">TAllRoutesVector</a> TAllRoutes::AllRoutesVector</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>the vector that stores all the routes on the railway </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01744">1744</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a3993d52ba2a60f04572838e2cbd78bbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3993d52ba2a60f04572838e2cbd78bbf">&#9670;&nbsp;</a></span>CallonVector</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="class_t_all_routes_1_1_t_callon_entry.html">TCallonEntry</a>&gt; TAllRoutes::CallonVector</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>the store of all call-on entries </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01714">1714</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a493783f7ff267d2dcf347f1958714d72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a493783f7ff267d2dcf347f1958714d72">&#9670;&nbsp;</a></span>LevelCrossingBarrierDownDelay</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const float TAllRoutes::LevelCrossingBarrierDownDelay</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>the full value in seconds for which the level crossing flashes prior to opening to trains </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01736">1736</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a753f581cd8fb39826bea73c7419398fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a753f581cd8fb39826bea73c7419398fb">&#9670;&nbsp;</a></span>LevelCrossingBarrierUpDelay</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const float TAllRoutes::LevelCrossingBarrierUpDelay</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; used to flag the fact that a route is being truncated in order to change the behaviour of signal aspect setting in SetRearwardsSignalsReturnFalseForTrainInRear </p>
<p>the full value in seconds for which the level crossing flashes prior to closing to trains </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01734">1734</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a961a443309f2ea74dc4c24b5a94fd8b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a961a443309f2ea74dc4c24b5a94fd8b6">&#9670;&nbsp;</a></span>LockedRouteFoundDuringRouteBuilding</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TAllRoutes::LockedRouteFoundDuringRouteBuilding</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>this flags the fact that a locked route has been found during route building in an existing linked route which is erased prior to its elements being added to the new route. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01717">1717</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="ae25faa44924c79b1fa18d974bca16ec8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae25faa44924c79b1fa18d974bca16ec8">&#9670;&nbsp;</a></span>LockedRouteLastTrackVectorPosition</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int TAllRoutes::LockedRouteLastTrackVectorPosition</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01725">1725</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a932ef101ca1ede0b8b4c71a697c910fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a932ef101ca1ede0b8b4c71a697c910fc">&#9670;&nbsp;</a></span>LockedRouteLastXLinkPos</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int TAllRoutes::LockedRouteLastXLinkPos</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01723">1723</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a04a50104e401446c3fedfc6901667559"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04a50104e401446c3fedfc6901667559">&#9670;&nbsp;</a></span>LockedRouteLockStartTime</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TDateTime TAllRoutes::LockedRouteLockStartTime</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01726">1726</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="aaa31c5ca56d5c358af8cc526bc03cf0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa31c5ca56d5c358af8cc526bc03cf0d">&#9670;&nbsp;</a></span>LockedRouteRearTrackVectorPosition</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int TAllRoutes::LockedRouteRearTrackVectorPosition</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01724">1724</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="ac714cf25fa52dcf055f1feb449e751e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac714cf25fa52dcf055f1feb449e751e2">&#9670;&nbsp;</a></span>LockedRouteVector</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_t_all_routes.html#a00c2d57382ed6560f1c611bdfddc3a6f">TLockedRouteVector</a> TAllRoutes::LockedRouteVector</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>the vector that stores all the locked routes on the railway </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01746">1746</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a936864598364d2e8c0aea147fea11196"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a936864598364d2e8c0aea147fea11196">&#9670;&nbsp;</a></span>NextRouteID</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int TAllRoutes::NextRouteID</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>stores the value for the route ID number that is next to be built </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01742">1742</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a7f0e30f383ca3cb65ab72d102c162316"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f0e30f383ca3cb65ab72d102c162316">&#9670;&nbsp;</a></span>PointsDelay</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const float TAllRoutes::PointsDelay</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>the value in seconds for which points flash prior to being changed. Used for the points flash period when changing points manually and for the route flash period when points have to be changed </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01738">1738</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a140f03788fbf646cb07f3c51f1f19175"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a140f03788fbf646cb07f3c51f1f19175">&#9670;&nbsp;</a></span>RebuildRailwayFlag</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TAllRoutes::RebuildRailwayFlag</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>this is set whenever a route has to be cancelled forcibly in order to force a ClearandRebuildRailway at the next clock tick if not in zoom-out mode to clear the now cancelled route on the display </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01729">1729</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a5dc6dfad729cb6659fb1cceafe00aa79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5dc6dfad729cb6659fb1cceafe00aa79">&#9670;&nbsp;</a></span>Route2MultiMap</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_t_all_routes.html#a1d2aa3032df6e13d1f6f1a93f96157c6">TRoute2MultiMap</a> TAllRoutes::Route2MultiMap</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>the map that stores the elements of all routes on the railway (see TRoute2MultiMap for more info) </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01750">1750</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a86d544429dcddbcbe43e63c8879128ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86d544429dcddbcbe43e63c8879128ee">&#9670;&nbsp;</a></span>RouteTruncateFlag</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TAllRoutes::RouteTruncateFlag</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01731">1731</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a8b4c0632615307653f3d1a24de9967b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b4c0632615307653f3d1a24de9967b3">&#9670;&nbsp;</a></span>RouteType</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="class_t_all_routes.html#af94f31040cc7692c777123c609d4cbd6">TAllRoutes::TRouteType</a> TAllRoutes::RouteType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>distinguishes between automatic signals routes and other types, or no route at all (where this is used there is no need to distinguish between preferred direction and unrestricted routes) </p>

</div>
</div>
<a id="a747ff868fb8db132732b282b1c30f35b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a747ff868fb8db132732b282b1c30f35b">&#9670;&nbsp;</a></span>SignallerRemovedTrainAutoRoute</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_t_one_route.html">TOneRoute</a> TAllRoutes::SignallerRemovedTrainAutoRoute</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>if train was on an AutoSigsRoute when removed then this stores the route so that signals can be reset </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01748">1748</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="a7183b12f8de4fcb82e036252a37d574d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7183b12f8de4fcb82e036252a37d574d">&#9670;&nbsp;</a></span>SignalsDelay</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const float TAllRoutes::SignalsDelay</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>the value in seconds for which signals flash prior to being changed. Used for the route flash period when points don't have to be changed </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l01740">1740</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a></li>
<li><a class="el" href="_track_unit_8cpp_source.html">TrackUnit.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="class_t_all_routes.html">TAllRoutes</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.18 </li>
  </ul>
</div>
</body>
</html>
